home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / utility1 / gs261src.zip / GS.MAK < prev    next >
Text File  |  1993-05-27  |  31KB  |  834 lines

  1. #    Copyright (C) 1989, 1992, 1993 Aladdin Enterprises.  All rights reserved.
  2. #
  3. # This file is part of Ghostscript.
  4. #
  5. # Ghostscript is distributed in the hope that it will be useful, but
  6. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  7. # to anyone for the consequences of using it or for whether it serves any
  8. # particular purpose or works at all, unless he says so in writing.  Refer
  9. # to the Ghostscript General Public License for full details.
  10. #
  11. # Everyone is granted permission to copy, modify and redistribute
  12. # Ghostscript, but only under the conditions described in the Ghostscript
  13. # General Public License.  A copy of this license is supposed to have been
  14. # given to you along with Ghostscript so you can know your rights and
  15. # responsibilities.  It should be in a file named COPYING.  Among other
  16. # things, the copyright notice and this notice must be preserved on all
  17. # copies.
  18.  
  19. # Generic makefile for Ghostscript.
  20. # The platform-specific makefiles `include' this file.
  21. # They define the following symbols:
  22. #    GS - the name of the executable (without the extension, if any).
  23. #    GS_LIB_DEFAULT - the default directory/ies for searching for the
  24. #        initialization and font files at run time.
  25. #    DEVICE_DEVS - the devices to include in the executable.
  26. #        See devs.mak for details.
  27. #    DEVICE_DEVS1...DEVICE_DEVS9 - additional devices, if the definition of
  28. #        DEVICE_DEVS doesn't fit on one line.
  29. #        See devs.mak for details.
  30. #    FEATURE_DEVS - the optional features to include in the
  31. #        executable.  Current features are:
  32. #            dps - (partial) support for Display PostScript extensions:
  33. #            see language.doc for details.
  34. #            level2 - (partial) support for PostScript Level 2
  35. #            extensions: see language.doc for details.
  36. #            compfont - support for composite (type 0) fonts.
  37. #            *** NOT IMPLEMENTED YET. ***
  38. #            filter - support for Level 2 filters (other than eexec,
  39. #            ASCIIHexEncode/Decode, NullEncode, PFBDecode,
  40. #            and SubFileDecode, which are always included).
  41. #            ccfonts - precompile fonts into C, and link them
  42. #            with the executable.  In the standard makefiles,
  43. #            this is only implemented for a very few fonts:
  44. #            see fonts.doc for details.
  45. # It is very unlikely that anyone would want to edit the remaining
  46. #   symbols, but we describe them here for completeness:
  47. #    GS_INIT - the name of the initialization file for Ghostscript,
  48. #        normally gs_init.ps.
  49. #    PLATFORM - a "device" name for the platform, so that platforms can
  50. #        add various kinds of resources like devices and features.
  51. #    QQ - a " preceded by whatever escape characters are needed to
  52. #        persuade the shell to pass a " to a program (" on MS-DOS,
  53. #        \" on Unix).
  54. #    XE - the extension for executable files (e.g., null or .exe).
  55. #    OBJ - the extension for relocatable object files (e.g., o or obj).
  56. #    BEGINFILES - the list of files that `make begin' should delete.
  57. #    CCBEGIN - the compilation command for `make begin', normally
  58. #        $(CCC) *.c.
  59. #    CCC - the C invocation for normal compilation.
  60. #    CCD - the C invocation for files that store into frame buffers or
  61. #        device registers.  Needed because some optimizing compilers
  62. #        will eliminate necessary stores.
  63. #    CCCF - the C invocation for compiled fonts and other large,
  64. #        self-contained data modules.  Needed because MS-DOS
  65. #        requires using the 'huge' memory model for these.
  66. #    CCINT - the C invocation for compiling the main interpreter module,
  67. #        normally the same as CCC: this is needed because the
  68. #        Borland compiler generates *worse* code for this module
  69. #        (but only this module) when optimization (-O) is turned on.
  70. #    AK - if source files must be converted from ANSI to K&R syntax,
  71. #        this is ansi2knr$(XE); if not, it is null.
  72. #        If a particular platform requires other utility programs
  73. #        to be built, AK must include them too.
  74. #    SHP - the prefix for invoking a shell script in the current directory
  75. #        (null for MS-DOS, $(SH) ./ for Unix).
  76. #    EXPP, EXP - the prefix for invoking an executable program in the
  77. #        current directory (null for MS-DOS, ./ for Unix).
  78. #    SH - the shell for scripts (null on MS-DOS, sh on Unix).
  79. # The platform-specific makefiles must also include rules for creating
  80. #   ansi2knr$(XE), genarch$(XE), and genconf$(XE) from the corresponding
  81. #   .c files -- this is needed because Turbo C and Unix C treat the -o
  82. #   switch slightly differently (Turbo C requires no following space,
  83. #   Unix C requires a following space), and I haven't found a way to capture
  84. #   the difference in a macro.
  85.  
  86. all default: $(GS)$(XE)
  87.  
  88. distclean realclean: clean
  89.     rm -f makefile
  90.  
  91. clean mostlyclean:
  92.     rm -f *.$(OBJ) *.a core gmon.out
  93.     rm -f *.dev *.d_* arch.h gconfig*.h o*.tr l*.tr
  94.     rm -f t _temp_* _temp_*.* *.map *.sym
  95.     rm -f ansi2knr$(XE) echogs$(XE) genarch$(XE) genconf$(XE)
  96.     rm -f $(GS)$(XE) $(BEGINFILES)
  97.  
  98. # A rule to do a quick and dirty compilation attempt when first installing
  99. # Ghostscript.  Many of the compilations will fail: follow this with 'make'.
  100.  
  101. begin:
  102.     rm -f arch.h genarch$(XE) $(GS)$(XE) $(BEGINFILES)
  103.     make arch.h
  104.     - $(CCBEGIN)
  105.     rm -f gconfig.$(OBJ) gdev*.$(OBJ) gp_*.$(OBJ) gsmisc.$(OBJ)
  106.     rm -f iccfont.$(OBJ) iinit.$(OBJ) interp.$(OBJ) zfiledev.$(OBJ)
  107.  
  108. # Auxiliary programs
  109.  
  110. arch.h: genarch$(XE)
  111.     $(EXPP) $(EXP)genarch arch.h
  112.  
  113. # -------------------------------- Library -------------------------------- #
  114.  
  115. # Define the inter-dependencies of the .h files.
  116. # Since not all versions of `make' defer expansion of macros,
  117. # we must list these in bottom-to-top order.
  118.  
  119. # Generic files
  120.  
  121. arch_h=arch.h
  122. std_h=std.h $(arch_h)
  123.  
  124. # Platform interfaces
  125.  
  126. gp_h=gp.h
  127. gpcheck_h=gpcheck.h
  128.  
  129. # C library interfaces
  130.  
  131. # Because of variations in the "standard" header files between systems, and
  132. # because we must include std.h before any file that includes sys/types.h,
  133. # we define local include files named *_.h to substitute for <*.h>.
  134.  
  135. vmsmath_h=vmsmath.h
  136.  
  137. dos__h=dos_.h
  138. ctype__h=ctype_.h $(std_h)
  139. errno__h=errno_.h
  140. malloc__h=malloc_.h $(std_h)
  141. math__h=math_.h $(std_h) $(vmsmath_h)
  142. memory__h=memory_.h $(std_h)
  143. stat__h=stat_.h $(std_h)
  144. stdio__h=stdio_.h $(std_h)
  145. string__h=string_.h $(std_h)
  146. time__h=time_.h $(std_h)
  147. windows__h=windows_.h
  148.  
  149. # Miscellaneous
  150.  
  151. gdebug_h=gdebug.h
  152. gsio_h=gsio.h
  153. gstypes_h=gstypes.h
  154. gs_h=gs.h $(stdio__h) $(gsio_h) $(gstypes_h)
  155. gx_h=gx.h $(gs_h) $(gdebug_h)
  156. gconfig_h=gconfig.h gsconfig.h
  157. gserrors_h=gserrors.h
  158.  
  159. GX=$(AK) $(gx_h)
  160. GXERR=$(GX) $(gserrors_h)
  161.  
  162. ###### Low-level facilities and utilities
  163.  
  164. ### Include files
  165.  
  166. gsccode_h=gsccode.h
  167. gschar_h=gschar.h $(gsccode_h)
  168. gscie_h=gscie.h
  169. gscolor_h=gscolor.h
  170. gscolor2_h=gscolor2.h
  171. gscoord_h=gscoord.h
  172. gscrypt1_h=gscrypt1.h
  173. gscspace_h=gscspace.h
  174. gsfont_h=gsfont.h
  175. gsimage_h=gsimage.h
  176. gsmatrix_h=gsmatrix.h
  177. gspaint_h=gspaint.h
  178. gspath_h=gspath.h
  179. gsprops_h=gsprops.h
  180. gsstate_h=gsstate.h $(gscolor_h)
  181. gstype1_h=gstype1.h
  182. gsuid_h=gsuid.h
  183. gsutil_h=gsutil.h
  184. gsxfont_h=gsxfont.h
  185.  
  186. gxarith_h=gxarith.h
  187. gxbitmap_h=gxbitmap.h
  188. gxcache_h=gxcache.h $(gsuid_h) $(gsxfont_h)
  189. gxcdir_h=gxcdir.h
  190. gxchar_h=gxchar.h $(gschar_h)
  191. gxclist_h=gxclist.h
  192. # gxcldev is out of order because it include gxclist.
  193. gxcldev_h=gxcldev.h $(gxclist_h)
  194. gxcpath_h=gxcpath.h
  195. gxdevice_h=gxdevice.h $(gsmatrix_h) $(gsxfont_h) $(gxbitmap_h)
  196. gxdevmem_h=gxdevmem.h
  197. gxfdir_h=gxfdir.h $(gxcdir_h)
  198. gxfixed_h=gxfixed.h
  199. gxfont_h=gxfont.h $(gsfont_h) $(gsuid_h)
  200. gxfrac_h=gxfrac.h
  201. gximage_h=gximage.h $(gscspace_h) $(gsimage_h)
  202. gxlum_h=gxlum.h
  203. gxmatrix_h=gxmatrix.h $(gsmatrix_h)
  204. gxop1_h=gxop1.h
  205. gxpath_h=gxpath.h
  206. gxrefct_h=gxrefct.h
  207. gxtype1_h=gxtype1.h $(gscrypt1_h) $(gstype1_h)
  208. gxxfont_h=gxxfont.h $(gsccode_h) $(gsmatrix_h) $(gsuid_h) $(gsxfont_h)
  209. # gxcolor and gxfmap are out of order because they include other files.
  210. gxcolor_h=gxcolor.h $(gxfrac_h) $(gsuid_h)
  211. gxfmap_h=gxfmap.h $(gxfrac_h) $(gxrefct_h)
  212.  
  213. gzcolor_h=gzcolor.h $(gscolor_h) $(gxfmap_h) $(gxlum_h)
  214. gzdevice_h=gzdevice.h $(gxdevice_h)
  215. gzht_h=gzht.h
  216. gzline_h=gzline.h
  217. gzpath_h=gzpath.h $(gxpath_h)
  218. gzstate_h=gzstate.h $(gsstate_h) $(gxfixed_h) $(gxmatrix_h)
  219.  
  220. ### Executable code
  221.  
  222. gp_nofb.$(OBJ): gp_nofb.c $(AK) \
  223.   $(gx_h) $(gp_h) $(gxdevice_h)
  224.  
  225. gsutil.$(OBJ): gsutil.c $(AK) \
  226.   $(std_h) $(gsprops_h) $(gsutil_h)
  227.  
  228. gxccache.$(OBJ): gxccache.c $(GXERR) $(gpcheck_h) \
  229.   $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gzcolor_h) \
  230.   $(gxcpath_h) $(gxdevmem_h) $(gxfont_h) $(gxfdir_h) $(gxchar_h) \
  231.   $(gxcache_h) $(gxxfont_h) $(gzstate_h) $(gzpath_h) \
  232.   $(gscspace_h) $(gsimage_h)
  233.  
  234. gxccman.$(OBJ): gxccman.c $(GXERR) $(gpcheck_h) \
  235.   $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gzcolor_h) \
  236.   $(gxcpath_h) $(gxdevmem_h) $(gxfont_h) $(gxfdir_h) $(gxchar_h) \
  237.   $(gxcache_h) $(gxxfont_h) $(gzstate_h) $(gzpath_h)
  238.  
  239. gxclist.$(OBJ): gxclist.c $(GXERR) $(gpcheck_h) \
  240.   $(gsmatrix_h) $(gxbitmap_h) $(gxcldev_h) $(gxdevice_h) $(gxdevmem_h)
  241.  
  242. gxclread.$(OBJ): gxclread.c $(GXERR) $(gpcheck_h) \
  243.   $(gsmatrix_h) $(gxbitmap_h) $(gxcldev_h) $(gxdevice_h) $(gxdevmem_h)
  244.  
  245. gxcmap.$(OBJ): gxcmap.c $(GXERR) \
  246.   $(gscspace_h) \
  247.   $(gxcolor_h) $(gxdevice_h) $(gxfrac_h) $(gxlum_h) \
  248.   $(gzcolor_h) $(gzstate_h)
  249.  
  250. gxcpath.$(OBJ): gxcpath.c $(GXERR) \
  251.   $(gxdevice_h) $(gxfixed_h) $(gzcolor_h) $(gzpath_h) $(gxcpath_h)
  252.  
  253. gxdither.$(OBJ): gxdither.c $(GX) \
  254.   $(gxfixed_h) $(gxlum_h) $(gxmatrix_h) $(gzstate_h) $(gzdevice_h) $(gzcolor_h) $(gzht_h)
  255.  
  256. gxdraw.$(OBJ): gxdraw.c $(GXERR) $(gpcheck_h) \
  257.   $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzcolor_h) $(gzdevice_h) $(gzstate_h)
  258.  
  259. gxfill.$(OBJ): gxfill.c $(GXERR) \
  260.   $(gxfixed_h) $(gxmatrix_h) $(gxdevice_h) $(gzcolor_h) $(gzpath_h) $(gzstate_h) $(gxcpath_h)
  261.  
  262. gxhint1.$(OBJ): gxhint1.c $(GXERR) \
  263.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxdevmem_h) $(gxchar_h) $(gxfont_h) $(gxtype1_h) \
  264.   $(gzdevice_h) $(gzstate_h)
  265.  
  266. gxhint2.$(OBJ): gxhint2.c $(GXERR) \
  267.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxdevmem_h) $(gxchar_h) $(gxfont_h) $(gxtype1_h) $(gxop1_h) \
  268.   $(gzdevice_h) $(gzstate_h)
  269.  
  270. gxht.$(OBJ): gxht.c $(GXERR) \
  271.   $(gxfixed_h) $(gxmatrix_h) $(gxbitmap_h) $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h)
  272.  
  273. gxpath.$(OBJ): gxpath.c $(GXERR) \
  274.   $(gxfixed_h) $(gzpath_h)
  275.  
  276. gxpath2.$(OBJ): gxpath2.c $(GXERR) \
  277.   $(gxfixed_h) $(gxarith_h) $(gzpath_h)
  278.  
  279. gxpcopy.$(OBJ): gxpcopy.c $(GXERR) \
  280.   $(gxfixed_h) $(gxarith_h) $(gzpath_h)
  281.  
  282. gxstroke.$(OBJ): gxstroke.c $(GXERR) $(gpcheck_h) \
  283.   $(gscoord_h) $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) \
  284.   $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzline_h) $(gzpath_h)
  285.  
  286. ###### High-level facilities
  287.  
  288. gschar.$(OBJ): gschar.c $(GXERR) \
  289.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gxcache_h) $(gstype1_h) $(gspath_h) $(gzpath_h) $(gzcolor_h) $(gzstate_h)
  290.  
  291. gscolor.$(OBJ): gscolor.c $(GXERR) \
  292.   $(gscspace_h) $(gxcolor_h) $(gxdevice_h) $(gxrefct_h) \
  293.   $(gzstate_h) $(gzcolor_h)
  294.  
  295. gscoord.$(OBJ): gscoord.c $(GXERR) \
  296.   $(gsccode_h) $(gxarith_h) $(gxfixed_h) $(gxfont_h) $(gxmatrix_h) \
  297.   $(gzdevice_h) $(gzstate_h) $(gscoord_h)
  298.  
  299. gsdevice.$(OBJ): gsdevice.c $(GXERR) \
  300.   $(gxarith_h) $(gsprops_h) $(gsutil_h) $(gxbitmap_h) $(gxdevmem_h) \
  301.   $(gzstate_h) $(gzdevice_h)
  302.  
  303. gsfile.$(OBJ): gsfile.c $(GXERR) \
  304.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
  305.  
  306. gsfont.$(OBJ): gsfont.c $(GXERR) \
  307.   $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxfont_h) $(gxfdir_h) \
  308.   $(gzstate_h)
  309.  
  310. gsht.$(OBJ): gsht.c $(GXERR) \
  311.   $(gzht_h) $(gzstate_h)
  312.  
  313. gsimage.$(OBJ): gsimage.c $(GXERR) $(gpcheck_h) \
  314.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gspaint_h) \
  315.   $(gzcolor_h) $(gzdevice_h) $(gzpath_h) $(gzstate_h) \
  316.   $(gxcolor_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  317.  
  318. gsimage1.$(OBJ): gsimage1.c $(GXERR) $(gpcheck_h) \
  319.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gscspace_h) $(gspaint_h) \
  320.   $(gzcolor_h) $(gzdevice_h) $(gzpath_h) $(gzstate_h) \
  321.   $(gxcolor_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  322.  
  323. gsimage2.$(OBJ): gsimage2.c $(GXERR) $(gpcheck_h) \
  324.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h) $(gscspace_h) $(gspaint_h) \
  325.   $(gzcolor_h) $(gzdevice_h) $(gzpath_h) $(gzstate_h) \
  326.   $(gxcolor_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  327.  
  328. gsimpath.$(OBJ): gsimpath.c $(GXERR) \
  329.   $(gsmatrix_h) $(gsstate_h) $(gspath_h)
  330.  
  331. gsline.$(OBJ): gsline.c $(GXERR) \
  332.   $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzline_h)
  333.  
  334. gsmatrix.$(OBJ): gsmatrix.c $(GXERR) \
  335.   $(gxfixed_h) $(gxarith_h) $(gxmatrix_h)
  336.  
  337. gsmisc.$(OBJ): gsmisc.c $(GX) $(errno__h) $(malloc__h) $(memory__h) $(MAKEFILE)
  338.     $(CCC) -DUSE_ASM=0$(USE_ASM) gsmisc.c
  339.  
  340. gspaint.$(OBJ): gspaint.c $(GXERR) $(gpcheck_h) \
  341.   $(gxfixed_h) $(gxmatrix_h) $(gspaint_h) $(gzpath_h) $(gzstate_h) $(gzdevice_h) $(gxcpath_h) $(gxdevmem_h) $(gximage_h)
  342.  
  343. gspath.$(OBJ): gspath.c $(GXERR) \
  344.   $(gxfixed_h) $(gxmatrix_h) $(gxpath_h) $(gzstate_h)
  345.  
  346. gspath2.$(OBJ): gspath2.c $(GXERR) \
  347.   $(gspath_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gzpath_h) $(gzdevice_h)
  348.  
  349. gsstate.$(OBJ): gsstate.c $(GXERR) \
  350.   $(gscie_h) $(gscolor2_h) $(gscspace_h) $(gxcolor_h) $(gxrefct_h) \
  351.   $(gzstate_h) $(gzcolor_h) $(gzdevice_h) $(gzht_h) $(gzline_h) $(gzpath_h)
  352.  
  353. gstdev.$(OBJ): gstdev.c $(GXERR) \
  354.   $(gxbitmap_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h)
  355.  
  356. gstype1.$(OBJ): gstype1.c $(GXERR) \
  357.   $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) $(gxchar_h) $(gxdevmem_h) $(gxop1_h) $(gxtype1_h) \
  358.   $(gzstate_h) $(gzdevice_h) $(gzpath_h)
  359.  
  360. ###### The internal devices
  361.  
  362. gdevmem_h=gdevmem.h
  363.  
  364. gdevemap.$(OBJ): gdevemap.c $(AK) $(std_h)
  365.  
  366. gdevmem1.$(OBJ): gdevmem1.c $(AK) \
  367.   $(gx_h) $(gserrors_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  368.  
  369. gdevmem2.$(OBJ): gdevmem2.c $(AK) \
  370.   $(gx_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  371.  
  372. gdevmem3.$(OBJ): gdevmem3.c $(AK) \
  373.   $(gx_h) $(gxdevice_h) $(gxdevmem_h) $(gdevmem_h)
  374.  
  375. ###### Files dependent on the installed devices, features, and platform.
  376. # Generating gconfig.h also generates o*.tr and l*.tr.
  377.  
  378. # gconfig.h shouldn't have to depend on ALL_DEVS, but that would
  379. # involve rewriting gsconfig to only save the device name, not the
  380. # contents of the <device>.D_# files.
  381.  
  382. ALL_DEVS=$(FEATURE_DEVS) $(PLATFORM).dev \
  383.   $(DEVICE_DEVS) $(DEVICE_DEVS1) \
  384.   $(DEVICE_DEVS2) $(DEVICE_DEVS3) $(DEVICE_DEVS4) $(DEVICE_DEVS5)\
  385.   $(DEVICE_DEVS6) $(DEVICE_DEVS7) $(DEVICE_DEVS8) $(DEVICE_DEVS9)
  386.  
  387. gconfig.h obj.tr objw.tr ld.tr lib.tr: \
  388.   devs.mak $(MAKEFILE) echogs$(XE) genconf$(XE) $(ALL_DEVS)
  389.     $(EXP)echogs -w t.cfg - $(FEATURE_DEVS) $(PLATFORM).dev
  390.     $(EXP)echogs -a t.cfg - $(DEVICE_DEVS)
  391.     $(EXP)echogs -a t.cfg - $(DEVICE_DEVS1)
  392.     $(EXP)echogs -a t.cfg - $(DEVICE_DEVS2)
  393.     $(EXP)echogs -a t.cfg - $(DEVICE_DEVS3)
  394.     $(EXP)echogs -a t.cfg - $(DEVICE_DEVS4)
  395.     $(EXP)echogs -a t.cfg - $(DEVICE_DEVS5)
  396.     $(EXP)echogs -a t.cfg - $(DEVICE_DEVS6)
  397.     $(EXP)echogs -a t.cfg - $(DEVICE_DEVS7)
  398.     $(EXP)echogs -a t.cfg - $(DEVICE_DEVS8)
  399.     $(EXP)echogs -a t.cfg - $(DEVICE_DEVS9)
  400.     $(EXP)genconf @t.cfg -h gconfig.h -l lib.tr -o obj.tr -u ld.tr -w objw.tr
  401.     rm t.cfg
  402.     $(EXP)echogs -a gconfig.h -x 23 define GS_LIB_DEFAULT -x 2022 $(GS_LIB_DEFAULT) -x 22
  403.     $(EXP)echogs -a gconfig.h -x 23 define GS_INIT -x 2022 $(GS_INIT) -x 22
  404.  
  405. gconfig.$(OBJ): gconfig.c $(AK) $(gconfig_h) $(MAKEFILE)
  406.  
  407. ###### On Unix, we pre-link all of the library except the back end.
  408. ###### On MS-DOS, we have to do the whole thing at once.
  409.  
  410. LIBGS=gschar.$(OBJ) gscolor.$(OBJ) gscoord.$(OBJ) \
  411.  gsdevice.$(OBJ) gsfile.$(OBJ) gsfont.$(OBJ) gsht.$(OBJ) \
  412.  gsimage.$(OBJ) gsimage1.$(OBJ) gsimage2.$(OBJ) \
  413.  gsimpath.$(OBJ) gsline.$(OBJ) gsmatrix.$(OBJ) gsmisc.$(OBJ) \
  414.  gspaint.$(OBJ) gspath.$(OBJ) gspath2.$(OBJ) \
  415.  gsstate.$(OBJ) gstdev.$(OBJ) gstype1.$(OBJ) gsutil.$(OBJ) \
  416.  gxccache.$(OBJ) gxccman.$(OBJ) gxclist.$(OBJ) gxclread.$(OBJ) \
  417.  gxcmap.$(OBJ) gxcpath.$(OBJ) \
  418.  gxdither.$(OBJ) gxdraw.$(OBJ) gxfill.$(OBJ) \
  419.  gxhint1.$(OBJ) gxhint2.$(OBJ) gxht.$(OBJ) \
  420.  gxpath.$(OBJ) gxpath2.$(OBJ) gxpcopy.$(OBJ) gxstroke.$(OBJ) \
  421.  gdevmem1.$(OBJ) gdevmem2.$(OBJ) gdevmem3.$(OBJ) gconfig.$(OBJ)
  422.  
  423. # ------------------------------ Interpreter ------------------------------ #
  424.  
  425. ###### Include files
  426.  
  427. alloc_h=alloc.h
  428. astate_h=astate.h
  429. ccfont_h=ccfont.h
  430. dict_h=dict.h
  431. dparam_h=dparam.h
  432. dstack_h=dstack.h
  433. errors_h=errors.h
  434. estack_h=estack.h
  435. filedev_h=filedev.h
  436. files_h=files.h
  437. font_h=font.h
  438. ilevel_h=ilevel.h
  439. iname_h=iname.h
  440. iref_h=iref.h
  441. iscan_h=iscan.h
  442. ivmspace_h=ivmspace.h
  443. iutil_h=iutil.h
  444. main_h=main.h
  445. opdef_h=opdef.h
  446. ostack_h=ostack.h
  447. overlay_h=overlay.h
  448. packed_h=packed.h
  449. save_h=save.h
  450. scanchar_h=scanchar.h
  451. sbits_h=sbits.h
  452. shc_h=shc.h
  453. state_h=state.h
  454. store_h=store.h
  455. stream_h=stream.h
  456. # Nested include files
  457. bfont_h=bfont.h $(font_h)
  458. ghost_h=ghost.h $(gx_h) $(iref_h)
  459. oper_h=oper.h $(gsutil_h) $(iutil_h) $(opdef_h) $(ostack_h)
  460. scf_h=scf.h $(shc_h)
  461. sdct_h=sdct.h $(shc_h)
  462. # Include files for optional features
  463. bnum_h=bnum.h
  464. bseq_h=bseq.h
  465. btoken_h=btoken.h
  466.  
  467. comp1_h=comp1.h $(ghost_h) $(oper_h) $(gserrors_h) $(gxfixed_h) $(gxop1_h)
  468.  
  469. gdevprn_h=gdevprn.h $(memory__h) $(string__h) $(gx_h) \
  470.   $(gserrors_h) $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h) $(gxclist_h)
  471.  
  472. ###### Utilities
  473.  
  474. GH=$(AK) $(ghost_h)
  475.  
  476. ialloc.$(OBJ): ialloc.c $(AK) $(gx_h) $(alloc_h) $(astate_h) $(ivmspace_h)
  477.  
  478. iccfont.$(OBJ): iccfont.c $(GH) gconfigf.h \
  479.   $(ghost_h) $(alloc_h) $(ccfont_h) $(dict_h) $(dstack_h) $(errors_h) \
  480.   $(font_h) $(iutil_h) $(iname_h) $(oper_h) $(save_h) $(store_h)
  481.  
  482. idebug.$(OBJ): idebug.c $(GH) \
  483.   $(iutil_h) $(dict_h) $(iname_h) $(ostack_h) $(opdef_h) $(packed_h) $(store_h)
  484.  
  485. idict.$(OBJ): idict.c $(GH) \
  486.   $(alloc_h) $(errors_h) $(ivmspace_h) $(iname_h) $(packed_h) \
  487.   $(save_h) $(store_h) $(iutil_h) $(dict_h) $(dstack_h)
  488.  
  489. idparam.$(OBJ): idparam.c $(GH) \
  490.   $(gsmatrix_h) $(dict_h) $(dparam_h) $(errors_h) $(iutil_h)
  491.  
  492. iinit.$(OBJ): iinit.c $(GH) $(gconfig_h) \
  493.   $(alloc_h) $(dict_h) $(dstack_h) $(errors_h) $(ilevel_h) $(iname_h) $(oper_h) $(store_h)
  494.  
  495. iname.$(OBJ): iname.c $(GH) $(alloc_h) $(errors_h) $(ivmspace_h) $(iname_h) $(store_h)
  496.  
  497. isave.$(OBJ): isave.c $(GH) $(alloc_h) $(astate_h) $(errors_h) $(iname_h) $(packed_h) $(save_h) $(store_h)
  498.  
  499. iscan.$(OBJ): iscan.c $(GH) $(ctype__h) \
  500.   $(alloc_h) $(dict_h) $(dstack_h) $(errors_h) \
  501.   $(ilevel_h) $(iutil_h) $(iscan_h) $(ivmspace_h) \
  502.   $(iname_h) $(ostack_h) $(packed_h) $(store_h) $(stream_h) $(scanchar_h)
  503.  
  504. iutil.$(OBJ): iutil.c $(GH) \
  505.   $(errors_h) $(alloc_h) $(dict_h) $(iutil_h) $(ivmspace_h) \
  506.   $(iname_h) $(ostack_h) $(opdef_h) $(packed_h) $(store_h) \
  507.   $(gsmatrix_h) $(gxdevice_h) $(gzcolor_h)
  508.  
  509. sfilter.$(OBJ): sfilter.c $(AK) $(stdio__h) \
  510.   $(scanchar_h) $(stream_h) $(gscrypt1_h)
  511.  
  512. stream.$(OBJ): stream.c $(AK) $(stdio__h) $(memory__h) \
  513.   $(gpcheck_h) $(scanchar_h) $(stream_h)
  514.  
  515. ###### Operators
  516.  
  517. OP=$(GH) $(errors_h) $(oper_h)
  518.  
  519. ### Non-graphics operators
  520.  
  521. zarith.$(OBJ): zarith.c $(OP) $(store_h)
  522.  
  523. zarray.$(OBJ): zarray.c $(OP) $(alloc_h) $(packed_h) $(store_h)
  524.  
  525. zcontrol.$(OBJ): zcontrol.c $(OP) $(estack_h) $(iutil_h) $(store_h)
  526.  
  527. zdict.$(OBJ): zdict.c $(OP) $(dict_h) $(dstack_h) $(iname_h) $(store_h)
  528.  
  529. zfile.$(OBJ): zfile.c $(OP) $(gp_h) \
  530.   $(alloc_h) $(estack_h) $(filedev_h) $(files_h) $(ilevel_h) $(iutil_h) \
  531.   $(save_h) $(stream_h) $(store_h)
  532.  
  533. zfiledev.$(OBJ): zfiledev.c $(OP) $(string__h) $(gp_h) $(gconfig_h) \
  534.   $(filedev_h) $(files_h) $(stream_h)
  535.  
  536. zfileio.$(OBJ): zfileio.c $(OP) $(gp_h) \
  537.   $(estack_h) $(files_h) $(iscan_h) $(store_h) $(stream_h) \
  538.   $(gsmatrix_h) $(gxdevice_h) $(gxdevmem_h)
  539.  
  540. zfilter.$(OBJ): zfilter.c $(OP) $(alloc_h) $(stream_h)
  541.  
  542. zgeneric.$(OBJ): zgeneric.c $(OP) \
  543.   $(dict_h) $(estack_h) $(ivmspace_h) $(iname_h) $(packed_h) $(store_h)
  544.  
  545. zmath.$(OBJ): zmath.c $(OP) $(store_h)
  546.  
  547. zmisc.$(OBJ): zmisc.c $(OP) $(gp_h) $(errno__h) $(memory__h) $(string__h) \
  548.   $(alloc_h) $(dict_h) $(dstack_h) $(iname_h) $(ivmspace_h) $(packed_h) $(store_h) \
  549.   $(gscrypt1_h)
  550.  
  551. zpacked.$(OBJ): zpacked.c $(OP) \
  552.   $(alloc_h) $(dict_h) $(ivmspace_h) $(iname_h) $(packed_h) $(save_h) $(store_h)
  553.  
  554. zprops.$(OBJ): zprops.c $(OP) \
  555.   $(alloc_h) $(dict_h) $(iname_h) $(state_h) $(store_h) \
  556.   $(gsprops_h) $(gsmatrix_h) $(gxdevice_h) $(gsstate_h)
  557.  
  558. zrelbit.$(OBJ): zrelbit.c $(OP) $(store_h) $(dict_h)
  559.  
  560. zstack.$(OBJ): zstack.c $(OP) $(store_h)
  561.  
  562. zstring.$(OBJ): zstring.c $(OP) \
  563.   $(alloc_h) $(iscan_h) $(iutil_h) $(iname_h) $(store_h) $(stream_h)
  564.  
  565. ztype.$(OBJ): ztype.c $(OP) \
  566.   $(dict_h) $(iscan_h) $(iutil_h) $(iname_h) $(stream_h) $(store_h)
  567.  
  568. zvmem.$(OBJ): zvmem.c $(OP) $(alloc_h) $(dict_h) $(dstack_h) $(estack_h) $(save_h) $(state_h) $(store_h) \
  569.   $(gsmatrix_h) $(gsstate_h)
  570.  
  571. ###### Graphics operators
  572.  
  573. zchar.$(OBJ): zchar.c $(OP) $(gxarith_h) $(gxfixed_h) $(gxmatrix_h) \
  574.   $(gschar_h) $(gxtype1_h) $(gxdevice_h) $(gxfont_h) $(gzpath_h) $(gzstate_h) \
  575.   $(alloc_h) $(dict_h) $(font_h) $(estack_h) $(ilevel_h) $(iname_h) $(state_h) $(store_h)
  576.  
  577. zcolor.$(OBJ): zcolor.c $(OP) $(alloc_h) $(estack_h) $(gxfixed_h) $(gxmatrix_h) $(gzstate_h) $(gxdevice_h) $(gzcolor_h) $(iutil_h) $(state_h) $(store_h)
  578.  
  579. zdevice.$(OBJ): zdevice.c $(OP) $(alloc_h) $(state_h) $(gsmatrix_h) $(gsstate_h) $(gxdevice_h) $(store_h)
  580.  
  581. zfont.$(OBJ): zfont.c $(OP) \
  582.   $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) $(gxfdir_h) $(gxcache_h) \
  583.   $(alloc_h) $(bfont_h) $(dict_h) $(iname_h) $(packed_h) $(save_h) $(state_h) $(store_h)
  584.  
  585. zfont1.$(OBJ): zfont1.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
  586.   $(bfont_h) $(dict_h) $(dparam_h) $(iname_h) $(store_h)
  587.  
  588. zfont2.$(OBJ): zfont2.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gschar_h) $(gxfixed_h) $(gxfont_h) \
  589.   $(alloc_h) $(bfont_h) $(dict_h) $(dparam_h) $(ilevel_h) $(iname_h) \
  590.   $(packed_h) $(save_h) $(store_h)
  591.  
  592. zgstate.$(OBJ): zgstate.c $(OP) $(alloc_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h)
  593.  
  594. zht.$(OBJ): zht.c $(OP) $(alloc_h) $(estack_h) $(gsmatrix_h) $(gsstate_h) $(state_h) $(store_h)
  595.  
  596. zmatrix.$(OBJ): zmatrix.c $(OP) $(gsmatrix_h) $(state_h) $(gscoord_h) $(store_h)
  597.  
  598. zpaint.$(OBJ): zpaint.c $(OP) \
  599.   $(alloc_h) $(estack_h) $(ilevel_h) $(state_h) $(store_h) $(stream_h) \
  600.   $(gsimage_h) $(gsmatrix_h) $(gspaint_h)
  601.  
  602. zpath.$(OBJ): zpath.c $(OP) $(gsmatrix_h) $(gspath_h) $(state_h) $(store_h)
  603.  
  604. zpath2.$(OBJ): zpath2.c $(OP) $(alloc_h) $(estack_h) $(gspath_h) $(state_h) $(store_h)
  605.  
  606. ###### Linking
  607.  
  608. INT=ialloc.$(OBJ) idebug.$(OBJ) idict.$(OBJ) idparam.$(OBJ) \
  609.  iinit.$(OBJ) iname.$(OBJ) \
  610.  interp.$(OBJ) isave.$(OBJ) iscan.$(OBJ) iutil.$(OBJ) \
  611.  sfilter.$(OBJ) stream.$(OBJ) \
  612.  zarith.$(OBJ) zarray.$(OBJ) zcontrol.$(OBJ) zdict.$(OBJ) \
  613.  zfile.$(OBJ) zfiledev.$(OBJ) zfileio.$(OBJ) zfilter.$(OBJ) zgeneric.$(OBJ) \
  614.  zmath.$(OBJ) zmisc.$(OBJ) zpacked.$(OBJ) zprops.$(OBJ) zrelbit.$(OBJ) \
  615.  zstack.$(OBJ) zstring.$(OBJ) ztype.$(OBJ) zvmem.$(OBJ) \
  616.  zchar.$(OBJ) zcolor.$(OBJ) zfont.$(OBJ) zfont1.$(OBJ) zfont2.$(OBJ) \
  617.  zdevice.$(OBJ) zgstate.$(OBJ) zht.$(OBJ) zmatrix.$(OBJ) \
  618.  zpaint.$(OBJ) zpath.$(OBJ) zpath2.$(OBJ)
  619.  
  620. # -------------------------- Optional features ---------------------------- #
  621.  
  622. ### Additions common to Display PostScript and Level 2
  623.  
  624. # We have to split up the module list because of limitations
  625. # on the number of arguments to a DOS batch file.
  626. dpsand2a_=gsdps1.$(OBJ) ibnum.$(OBJ) iscan2.$(OBJ)
  627. dpsand2b_=zbseq.$(OBJ) zchar2.$(OBJ) zdps1.$(OBJ) zupath.$(OBJ) zvmem2.$(OBJ)
  628. dpsand2_=$(dpsand2a_) $(dpsand2b_)
  629. dpsand2.dev: $(dpsand2_)
  630.     $(SHP)gssetmod dpsand2 $(dpsand2a_)
  631.     $(SHP)gsaddmod dpsand2 -obj $(dpsand2b_)
  632.     $(SHP)gsaddmod dpsand2 -oper2 zbseq zchar2 zdps1 zupath zvmem2
  633.     $(SHP)gsaddmod dpsand2 -ps gs_dps1
  634.  
  635. gsdps1.$(OBJ): gsdps1.c $(GXERR) $(gxfixed_h) $(gxmatrix_h) $(gzpath_h) $(gzstate_h)
  636.  
  637. ibnum.$(OBJ): ibnum.c $(GH) $(errors_h) $(stream_h) $(bnum_h) $(btoken_h)
  638.  
  639. iscan2.$(OBJ): iscan2.c $(GH) $(errors_h) \
  640.   $(alloc_h) $(dict_h) $(dstack_h) $(iscan_h) $(iutil_h) $(ivmspace_h) \
  641.   $(iname_h) $(ostack_h) $(save_h) $(store_h) $(stream_h) \
  642.   $(bseq_h) $(btoken_h) $(bnum_h)
  643.  
  644. zbseq.$(OBJ): zbseq.c $(OP) $(save_h) $(store_h) $(stream_h) $(files_h) $(iname_h) $(bnum_h) $(btoken_h) $(bseq_h)
  645.  
  646. zchar2.$(OBJ): zchar2.c $(OP) $(gschar_h) $(gsmatrix_h) $(gxfixed_h) $(gxfont_h) \
  647.   $(alloc_h) $(estack_h) $(font_h) $(iname_h) $(state_h) $(store_h) $(stream_h) $(bnum_h)
  648.  
  649. zdps1.$(OBJ): zdps1.c $(OP) $(gsmatrix_h) $(gspath_h) $(gsstate_h) \
  650.   $(alloc_h) $(ivmspace_h) $(state_h) $(store_h) $(stream_h) $(bnum_h)
  651.  
  652. zupath.$(OBJ): zupath.c $(OP) \
  653.   $(dict_h) $(dstack_h) $(iutil_h) $(state_h) $(store_h) $(stream_h) $(bnum_h) \
  654.   $(gscoord_h) $(gsmatrix_h) $(gspaint_h) $(gspath_h) $(gsstate_h) \
  655.   $(gxfixed_h) $(gxdevice_h) $(gxpath_h)
  656.  
  657. zvmem2.$(OBJ): zvmem2.c $(OP) \
  658.   $(ivmspace_h) $(store_h)
  659.  
  660. ### Display PostScript
  661. # We should include zcontext, but it isn't in good enough shape yet:
  662. #    $(SHP)gsaddmod dps -oper2 zcontext
  663.  
  664. dps_=
  665. dps.dev: dpsand2.dev $(dps_)
  666.     $(SHP)gssetmod dps $(dps_)
  667.     $(SHP)gsaddmod dps -include dpsand2
  668.  
  669. zcontext.$(OBJ): zcontext.c $(OP) \
  670.   $(alloc_h) $(dict_h) $(dstack_h) $(estack_h) $(state_h) $(store_h)
  671.  
  672. ### Composite font support
  673.  
  674. gschar0.$(OBJ): gschar0.c $(GXERR) \
  675.   $(gxfixed_h) $(gxmatrix_h) $(gzdevice_h) $(gxdevmem_h) $(gxfont_h) $(gxchar_h) $(gzstate_h)
  676.  
  677. zfont0.$(OBJ): zfont0.c $(OP) $(gsmatrix_h) $(gxdevice_h) $(gxfont_h) \
  678.   $(alloc_h) $(bfont_h) $(dict_h) $(iname_h) $(state_h) $(store_h)
  679.  
  680. compfont_=zchar2.$(OBJ) zfont0.$(OBJ) gschar0.$(OBJ)
  681. compfont.dev: $(compfont_)
  682.     $(SHP)gssetmod compfont $(compfont_)
  683.     $(SHP)gsaddmod compfont -oper zfont0 zchar2
  684.     $(SHP)gsaddmod compfont -ps gs_type0
  685.  
  686. ### Level 2 additions
  687.  
  688. # We have to split up the module list because of limitations
  689. # on the number of arguments to a DOS batch file.
  690. level2a_=gscie.$(OBJ) gscolor2.$(OBJ) zcie.$(OBJ) zcolor2.$(OBJ)
  691. level2b_=zcspace2.$(OBJ) zht2.$(OBJ) zimage2.$(OBJ) zmisc2.$(OBJ)
  692. level2_=$(level2a_) $(level2b_)
  693. level2.dev: compfont.dev dpsand2.dev filter.dev $(level2_)
  694.     $(SHP)gssetmod level2 $(level2a_)
  695.     $(SHP)gsaddmod level2 -obj $(level2b_)
  696.     $(SHP)gsaddmod level2 -include compfont dpsand2 filter
  697.     $(SHP)gsaddmod level2 -oper zmisc2_level
  698.     $(SHP)gsaddmod level2 -oper2 zcie zcolor2 zcspace2
  699.     $(SHP)gsaddmod level2 -oper2 zht2 zimage2 zmisc2
  700.     $(SHP)gsaddmod level2 -ps gs_lev2
  701.  
  702. gscie.$(OBJ): gscie.c $(GXERR) \
  703.   $(gscspace_h) $(gscie_h) $(gscolor2_h) \
  704.   $(gxarith_h) $(gxcolor_h) $(gxdevice_h) $(gxrefct_h) \
  705.   $(gzcolor_h) $(gzstate_h)
  706.  
  707. gscolor2.$(OBJ): gscolor2.c $(GXERR) \
  708.   $(gscie_h) $(gscolor2_h) $(gscspace_h) \
  709.   $(gxcolor_h) $(gxdevice_h) $(gxfixed_h) $(gxmatrix_h) $(gxrefct_h) \
  710.   $(gzcolor_h) $(gzstate_h)
  711.  
  712. zcie.$(OBJ): zcie.c $(OP) \
  713.   $(gscspace_h) $(gscolor2_h) $(gscie_h) $(gxcolor_h) $(gxrefct_h) \
  714.   $(alloc_h) $(dict_h) $(dparam_h) $(estack_h) $(save_h) $(state_h) $(store_h)
  715.  
  716. zcolor2.$(OBJ): zcolor2.c $(OP) \
  717.   $(gscolor_h) $(gxcolor_h) $(gscolor2_h) $(gscspace_h) $(gsmatrix_h) \
  718.   $(dict_h) $(dparam_h) $(iname_h) $(state_h) $(store_h)
  719.  
  720. zcspace2.$(OBJ): zcspace2.c $(OP) \
  721.   $(gscolor_h) $(gxcolor_h) $(gscolor2_h) $(gscspace_h) $(gsmatrix_h) \
  722.   $(dict_h) $(dparam_h) $(estack_h) $(iname_h) $(state_h) $(store_h)
  723.  
  724. zht2.$(OBJ): zht2.c $(OP) \
  725.   $(dict_h) $(dparam_h) $(iname_h) $(state_h) $(store_h)
  726.  
  727. zimage2.$(OBJ): zimage2.c $(OP) \
  728.   $(gscolor_h) $(gscolor2_h) $(gscspace_h) $(gsmatrix_h) $(gxcolor_h) \
  729.   $(dict_h) $(dparam_h) $(ilevel_h) $(state_h)
  730.  
  731. zmisc2.$(OBJ): zmisc2.c $(OP) \
  732.   $(gsfont_h) \
  733.   $(dict_h) $(dparam_h) $(dstack_h) $(estack_h) $(ilevel_h) $(iname_h) $(store_h)
  734.  
  735. ### Filters other than the ones in sfilter.c
  736.  
  737. sbits.$(OBJ): sbits.c $(AK) $(stdio__h) $(sbits_h) $(stream_h)
  738.  
  739. scftab.$(OBJ): scftab.c $(AK) $(std_h) $(scf_h)
  740.  
  741. scfdtab.$(OBJ): scfdtab.c $(AK) $(std_h) $(scf_h)
  742.  
  743. scfd.$(OBJ): scfd.c $(AK) $(stdio__h) $(gdebug_h)\
  744.   $(sbits_h) $(scf_h) $(stream_h)
  745.  
  746. scfe.$(OBJ): scfe.c $(AK) $(stdio__h) $(gdebug_h)\
  747.   $(sbits_h) $(scf_h) $(stream_h)
  748.  
  749. sdctd.$(OBJ): sdctd.c $(AK) $(stdio__h) $(gdebug_h) $(stream_h)
  750.  
  751. sdcte.$(OBJ): sdcte.c $(AK) $(stdio__h) $(gdebug_h) $(stream_h)
  752.  
  753. sfilter2.$(OBJ): sfilter2.c $(AK) $(stdio__h) $(scanchar_h) $(stream_h)
  754.  
  755. slzwd.$(OBJ): slzwd.c $(AK) $(stdio__h) $(gdebug_h) $(stream_h)
  756.  
  757. slzwe.$(OBJ): slzwe.c $(AK) $(stdio__h) $(gdebug_h) $(stream_h)
  758.  
  759. zfilter2.$(OBJ): zfilter2.c $(OP) $(alloc_h) $(dict_h) $(dparam_h) $(sdct_h) $(stream_h)
  760.  
  761. # Because of size limits on the DOS command line,
  762. # we have to break this up into two parts.
  763. filter_1=zfilter2.$(OBJ) sfilter2.$(OBJ) sbits.$(OBJ)
  764. filter_2=scfdtab.$(OBJ) scftab.$(OBJ) scfd.$(OBJ) scfe.$(OBJ) 
  765. filter_3=sdctd.$(OBJ) sdcte.$(OBJ) slzwd.$(OBJ) slzwe.$(OBJ)
  766. filter.dev: $(filter_1) $(filter_2) $(filter_3)
  767.     $(SHP)gssetmod filter $(filter_1)
  768.     $(SHP)gsaddmod filter -obj $(filter_2)
  769.     $(SHP)gsaddmod filter -obj $(filter_3)
  770.     $(SHP)gsaddmod filter -oper zfilter2
  771.  
  772. ### Precompiled fonts.  See fonts.doc for more information.
  773.  
  774. CCFONT=$(OP) $(ccfont_h)
  775.  
  776. # List the fonts we are going to compile.
  777. # Because of intrinsic limitations in `make', we have to list
  778. # the object file names and the font names separately.
  779. ccfonts1_=uglyr.$(OBJ)
  780. ccfonts1=uglyr
  781.  
  782. ccfonts.dev: $(MAKEFILE) gs.mak iccfont.$(OBJ) \
  783.   $(ccfonts1_) $(ccfonts2_) $(ccfonts3_) $(ccfonts4_) $(ccfonts5_)
  784.     $(SHP)gssetmod ccfonts iccfont.$(OBJ)
  785.     $(SHP)gsaddmod ccfonts -obj $(ccfonts1_)
  786.     $(SHP)gsaddmod ccfonts -obj $(ccfonts2_)
  787.     $(SHP)gsaddmod ccfonts -obj $(ccfonts3_)
  788.     $(SHP)gsaddmod ccfonts -obj $(ccfonts4_)
  789.     $(SHP)gsaddmod ccfonts -obj $(ccfonts5_)
  790.     $(SHP)gsaddmod ccfonts -oper ccfonts
  791.  
  792. gconfigf.h: $(MAKEFILE) gs.mak genconf$(XE)
  793.     $(SHP)gssetmod ccfonts_
  794.     $(SHP)gsaddmod ccfonts_ -font $(ccfonts1)
  795.     $(SHP)gsaddmod ccfonts_ -font $(ccfonts2)
  796.     $(SHP)gsaddmod ccfonts_ -font $(ccfonts3)
  797.     $(SHP)gsaddmod ccfonts_ -font $(ccfonts4)
  798.     $(SHP)gsaddmod ccfonts_ -font $(ccfonts5)
  799.     $(EXP)genconf ccfonts_.dev -f gconfigf.h
  800.  
  801. uglyr.$(OBJ): uglyr.c $(CCFONT)
  802.     $(CCCF) uglyr.c
  803.  
  804. ncrr.$(OBJ): ncrr.c $(CCFONT)
  805.     $(CCCF) ncrr.c
  806.  
  807. pagk.$(OBJ): pagk.c $(CCFONT)
  808.     $(CCCF) pagk.c
  809.  
  810. psyr.$(OBJ): psyr.c $(CCFONT)
  811.     $(CCCF) psyr.c
  812.  
  813. ptmr.$(OBJ): ptmr.c $(CCFONT)
  814.     $(CCCF) ptmr.c
  815.  
  816. pzdr.$(OBJ): pzdr.c $(CCFONT)
  817.     $(CCCF) pzdr.c
  818.  
  819. # ----------------------------- Main program ------------------------------ #
  820.  
  821. # Interpreter main program
  822.  
  823. gs.$(OBJ): gs.c $(GH) $(ctype__h) \
  824.   $(gxdevice_h) $(gxdevmem_h) \
  825.   $(alloc_h) $(errors_h) $(estack_h) $(files_h) $(iscan_h) $(main_h) $(ostack_h) $(store_h) $(stream_h)
  826.  
  827. gsmain.$(OBJ): gsmain.c $(GH) \
  828.   $(gp_h) $(gsmatrix_h) $(gxdevice_h) $(gserrors_h) \
  829.   $(estack_h) $(files_h) $(iscan_h) $(main_h) $(ostack_h) $(store_h)
  830.  
  831. interp.$(OBJ): interp.c $(GH) \
  832.   $(errors_h) $(estack_h) $(iname_h) $(dict_h) $(dstack_h) $(iscan_h) $(oper_h) $(ostack_h) $(packed_h) $(save_h) $(store_h) $(stream_h)
  833.     $(CCINT) interp.c
  834.